
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>FAQ: Installation &#8212; Django 1.11.22.dev20190603194737 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="FAQ: Using Django" href="usage.html" />
    <link rel="prev" title="FAQ: General" href="general.html" />



 
<script type="text/javascript" src="../templatebuiltins.js"></script>
<script type="text/javascript">
(function($) {
    if (!django_template_builtins) {
       // templatebuiltins.js missing, do nothing.
       return;
    }
    $(document).ready(function() {
        // Hyperlink Django template tags and filters
        var base = "../ref/templates/builtins.html";
        if (base == "#") {
            // Special case for builtins.html itself
            base = "";
        }
        // Tags are keywords, class '.k'
        $("div.highlight\\-html\\+django span.k").each(function(i, elem) {
             var tagname = $(elem).text();
             if ($.inArray(tagname, django_template_builtins.ttags) != -1) {
                 var fragment = tagname.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + tagname + "</a>");
             }
        });
        // Filters are functions, class '.nf'
        $("div.highlight\\-html\\+django span.nf").each(function(i, elem) {
             var filtername = $(elem).text();
             if ($.inArray(filtername, django_template_builtins.tfilters) != -1) {
                 var fragment = filtername.replace(/_/, '-');
                 $(elem).html("<a href='" + base + "#" + fragment + "'>" + filtername + "</a>");
             }
        });
    });
})(jQuery);
</script>


  </head><body>

    <div class="document">
  <div id="custom-doc" class="yui-t6">
    <div id="hd">
      <h1><a href="../index.html">Django 1.11.22.dev20190603194737 documentation</a></h1>
      <div id="global-nav">
        <a title="Home page" href="../index.html">Home</a>  |
        <a title="Table of contents" href="../contents.html">Table of contents</a>  |
        <a title="Global index" href="../genindex.html">Index</a>  |
        <a title="Module index" href="../py-modindex.html">Modules</a>
      </div>
      <div class="nav">
    &laquo; <a href="general.html" title="FAQ: General">previous</a>
     |
    <a href="index.html" title="Django FAQ" accesskey="U">up</a>
   |
    <a href="usage.html" title="FAQ: Using Django">next</a> &raquo;</div>
    </div>

    <div id="bd">
      <div id="yui-main">
        <div class="yui-b">
          <div class="yui-g" id="faq-install">
            
  <div class="section" id="s-faq-installation">
<span id="faq-installation"></span><h1>FAQ: Installation<a class="headerlink" href="#faq-installation" title="Permalink to this headline">¶</a></h1>
<div class="section" id="s-how-do-i-get-started">
<span id="how-do-i-get-started"></span><h2>How do I get started?<a class="headerlink" href="#how-do-i-get-started" title="Permalink to this headline">¶</a></h2>
<ol class="arabic simple">
<li><a class="reference external" href="https://www.djangoproject.com/download/">Download the code</a>.</li>
<li>Install Django (read the <a class="reference internal" href="../intro/install.html"><span class="doc">installation guide</span></a>).</li>
<li>Walk through the <a class="reference internal" href="../intro/tutorial01.html"><span class="doc">tutorial</span></a>.</li>
<li>Check out the rest of the <a class="reference internal" href="../index.html"><span class="doc">documentation</span></a>, and <a class="reference external" href="https://www.djangoproject.com/community/">ask questions</a> if you
run into trouble.</li>
</ol>
</div>
<div class="section" id="s-what-are-django-s-prerequisites">
<span id="what-are-django-s-prerequisites"></span><h2>What are Django’s prerequisites?<a class="headerlink" href="#what-are-django-s-prerequisites" title="Permalink to this headline">¶</a></h2>
<p>Django requires Python. See the table in the next question for the versions of
Python that work with each version of Django. Other Python libraries may be
required for some uses, but you’ll receive an error about it as they’re needed.</p>
<p>For a development environment – if you just want to experiment with Django –
you don’t need to have a separate Web server installed; Django comes with its
own lightweight development server. For a production environment, Django follows
the WSGI spec, <span class="target" id="index-0"></span><a class="pep reference external" href="https://www.python.org/dev/peps/pep-3333"><strong>PEP 3333</strong></a>, which means it can run on a variety of server
platforms. See <a class="reference internal" href="../howto/deployment/index.html"><span class="doc">Deploying Django</span></a> for some
popular alternatives.</p>
<p>If you want to use Django with a database, which is probably the case, you’ll
also need a database engine. <a class="reference external" href="https://www.postgresql.org/">PostgreSQL</a> is recommended, because we’re
PostgreSQL fans, and <a class="reference external" href="https://www.mysql.com/">MySQL</a>, <a class="reference external" href="https://www.sqlite.org/">SQLite 3</a>, and <a class="reference external" href="https://www.oracle.com/">Oracle</a> are also supported.</p>
</div>
<div class="section" id="s-what-python-version-can-i-use-with-django">
<span id="s-faq-python-version-support"></span><span id="what-python-version-can-i-use-with-django"></span><span id="faq-python-version-support"></span><h2>What Python version can I use with Django?<a class="headerlink" href="#what-python-version-can-i-use-with-django" title="Permalink to this headline">¶</a></h2>
<table class="docutils">
<colgroup>
<col width="23%" />
<col width="77%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Django version</th>
<th class="head">Python versions</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td>1.8</td>
<td>2.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5</td>
</tr>
<tr class="row-odd"><td>1.9, 1.10</td>
<td>2.7, 3.4, 3.5</td>
</tr>
<tr class="row-even"><td>1.11</td>
<td>2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)</td>
</tr>
<tr class="row-odd"><td>2.0</td>
<td>3.4, 3.5, 3.6, 3.7</td>
</tr>
<tr class="row-even"><td>2.1</td>
<td>3.5, 3.6, 3.7</td>
</tr>
</tbody>
</table>
<p>For each version of Python, only the latest micro release (A.B.C) is officially
supported. You can find the latest micro version for each series on the <a class="reference external" href="https://www.python.org/downloads/">Python
download page</a>.</p>
<p>Typically, we will support a Python version up to and including the first
Django LTS release whose security support ends after security support for that
version of Python ends. For example, Python 3.3 security support ends September
2017 and Django 1.8 LTS security support ends April 2018. Therefore Django 1.8
is the last version to support Python 3.3.</p>
</div>
<div class="section" id="s-what-python-version-should-i-use-with-django">
<span id="what-python-version-should-i-use-with-django"></span><h2>What Python version should I use with Django?<a class="headerlink" href="#what-python-version-should-i-use-with-django" title="Permalink to this headline">¶</a></h2>
<p>As of Django 1.6, Python 3 support is considered stable and you can safely use
it in production. See also <a class="reference internal" href="../topics/python3.html"><span class="doc">Porting to Python 3</span></a>. However, the community is
still in the process of migrating third-party packages and applications to
Python 3.</p>
<p>If you’re starting a new project, and the dependencies you plan to use work on
Python 3, you should use Python 3. If they don’t, consider contributing to the
porting efforts, or stick to Python 2.</p>
<p>Since newer versions of Python are often faster, have more features, and are
better supported, all else being equal, we recommend that you use the latest
2.x.y or 3.x.y release.</p>
<p>You don’t lose anything in Django by using an older release, but you don’t take
advantage of the improvements and optimizations in newer Python releases.
Third-party applications for use with Django are, of course, free to set their
own version requirements.</p>
</div>
<div class="section" id="s-should-i-use-the-stable-version-or-development-version">
<span id="should-i-use-the-stable-version-or-development-version"></span><h2>Should I use the stable version or development version?<a class="headerlink" href="#should-i-use-the-stable-version-or-development-version" title="Permalink to this headline">¶</a></h2>
<p>Generally, if you’re using code in production, you should be using a
stable release. The Django project publishes a full stable release
every nine months or so, with bugfix updates in between. These stable
releases contain the API that is covered by our backwards
compatibility guarantees; if you write code against stable releases,
you shouldn’t have any problems upgrading when the next official
version is released.</p>
</div>
</div>


          </div>
        </div>
      </div>
      
        
          <div class="yui-b" id="sidebar">
            
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">FAQ: Installation</a><ul>
<li><a class="reference internal" href="#how-do-i-get-started">How do I get started?</a></li>
<li><a class="reference internal" href="#what-are-django-s-prerequisites">What are Django’s prerequisites?</a></li>
<li><a class="reference internal" href="#what-python-version-can-i-use-with-django">What Python version can I use with Django?</a></li>
<li><a class="reference internal" href="#what-python-version-should-i-use-with-django">What Python version should I use with Django?</a></li>
<li><a class="reference internal" href="#should-i-use-the-stable-version-or-development-version">Should I use the stable version or development version?</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="general.html"
                        title="previous chapter">FAQ: General</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="usage.html"
                        title="next chapter">FAQ: Using Django</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/faq/install.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    </div>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
              <h3>Last update:</h3>
              <p class="topless">Jun 03, 2019</p>
          </div>
        
      
    </div>

    <div id="ft">
      <div class="nav">
    &laquo; <a href="general.html" title="FAQ: General">previous</a>
     |
    <a href="index.html" title="Django FAQ" accesskey="U">up</a>
   |
    <a href="usage.html" title="FAQ: Using Django">next</a> &raquo;</div>
    </div>
  </div>

      <div class="clearer"></div>
    </div>
  </body>
</html>